package com.gcb.common.enums;

import java.util.Arrays;
import java.util.List;

/**
 * @Description: 人员状态枚举
 * @Version: V1.0
 */
public enum GcbUserEnum {

    /**
     * 用户类型 0-普通用户，1-企业管理员，2-企业超级管理员
     */
    COMMON_USER(0, "普通用户"),
    COMPANY_ADMIN(1, "企业管理员"),
    COMPANY_SUPER_ADMIN(2, "企业超级管理员"),
    /**
     * 实名认证状态 0-未认证，1-已认证，2：认证失败
     */
    AUTH_WAIT(0, "未认证"),
    AUTH_SUCCESS(1, "已认证"),
    AUTH_FAIL(2, "认证失败"),
    /**
     * 账号状态 0-停用，1-正常
     */
    ACCOUNT_STOPUSE(0, "停用"),
    ACCOUNT_NORMAL(1, "正常"),
    /**
     * 在职状态 0-离职，1-在职
     */
    DIMISSION(0, "离职"),
    ATPOST(1, "在职");
    private final Integer code;
    private final String info;

    GcbUserEnum(Integer code, String info) {
        this.code = code;
        this.info = info;
    }

    public Integer getCode() {
        return code;
    }

    public String getInfo() {
        return info;
    }

    /**
     * 根据用户类型code获取描述
     * @param code 用户类型 0-普通用户，1-企业管理员，2-企业超级管理员
     * @return info
     */
    public static String getUserTypeDescByCode(String code) {
        List<GcbUserEnum> enums = Arrays.asList(GcbUserEnum.COMMON_USER, GcbUserEnum.COMPANY_ADMIN, GcbUserEnum.COMPANY_SUPER_ADMIN);
        for (GcbUserEnum status : enums) {
            if (status.getCode().equals(code)) {
                return status.getInfo();
            }
        }
        return GcbUserEnum.COMMON_USER.getInfo();
    }
}
